package cc.wanforme.st.server.base.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import cc.wanforme.st.server.base.entity.RolePermission;
import cc.wanforme.st.server.vo.base.RolePermissionVo;


/**
 * @author wanne
 * 2020年10月23日
 */
public interface IRolePermissionService extends IService<RolePermission> {

	/** 查询角色的权限*/
	List<RolePermission> selectPermissions(String role);
	
	/** 清除某个角色的缓存 */
	void clearCache(String role);
	
	RolePermission saveVo(RolePermission vo);
	
	void updateVo(RolePermission vo);
	
	void deleteVo(Long id);
	
	/** 根据 角色代码和权限进行删除 */
	void deleteVo(String roleCode, String permission);
	
	/** 删除角色所有权限 */
	void deleteAllByRole(String role);
	
	/** 删除所有权限 */
	void deleteAllPermission(String permission);
	
	/** 角色模糊搜索 */
	PageInfo<RolePermission> listRolePermissions(int page, int pageSize, String roleLike);
	
	/** 更新角色的所有权限, 权限可以为空，但不能为null */
	void updateRoleAllPermissions(RolePermissionVo vo);
	
}
